A storage server is a computer system that performs data storage and retrieval for clients over a network. For example, a storage server may carry out read and write operations on behalf of clients while interacting with storage controllers that transparently manage underlying storage resources (e.g., disk pools). Example methods of providing network accessible storage include network-attached storage (NAS) and storage area networks (SANs).
Network-attached storage (NAS) is a file-level storage system that provides clients with data access over a network. In addition, a storage area network (SAN) is a type of specialized high-speed network that interconnects clients with shared storage resources. Either type of distributed storage system may include storage controllers that implement low-level control over a group of storage drives to provide virtualized storage. Storage nodes may include storage servers and/or storage controllers in some examples.
Storage nodes may be clustered together to provide high-availability data access. For example, two storage nodes may be configured so that when one node fails, the other node continues processing without interruption. In addition, different sets of clustered storage may exist in different locations to provide disaster recovery (DR) in the event of failure or loss of communication at one site. If a first cluster fails, nodes in a second cluster that are DR partners of nodes in the first cluster may seamlessly assume or takeover operations for the nodes in the first cluster with little or no disruption. This may be referred to as a site switchover. In certain scenarios, data loss may occur when updates on one node are not transferred to a DR site before site switchover occurs. In such a scenario, it may be difficult to detect the data loss.